#include<iostream>
using std::endl;
using std::cout;

template<class T1,class T2>
T1 add(T2 x, T2 y){
    cout<<"this is 1"<<endl;
    return x+y;
}

#if 0
template<class T2, class T1>
T2 add(T1 x, T1 y){
    cout<<"this is 2"<<endl;
    return x+y;
}
#endif

void test0(){
    cout<<add<int,double>(1.1,2)<<endl;
}

int main(void){
    test0();
}